package com.example.htmlspringtest.base.service;

import com.example.htmlspringtest.base.dao.BaseMapper;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.List;

public abstract class BaseService<T,M extends BaseMapper<T>> {

    @Autowired
    M mapper;

    /**
     * 功能简介: 对象查询
     * @Author dongmufengchun
     * @Date 16:26 2022/6/19
     * @return java.util.List<T>
    **/
    public List<T> findList(){
        return mapper.list();
    }

    /**
     * 功能简介: 对象保存
     * @Author dongmufengchun
     * @Date 16:26 2022/6/19
     * @param t 对象t
     * @return int
    **/
    public int save(T t){
        return mapper.save(t);
    }

    /**
     * 功能简介: 对象删除
     * @Author dongmufengchun
     * @Date 16:26 2022/6/19
     * @param id id
     * @return int
    **/
    public int delete(Long id){
        return mapper.delete(id);
    }

    /**
     * 功能简介: 修改
     * @Author dongmufengchun
     * @Date 16:25 2022/6/19
     * @param t 对象t
     * @return int
    **/
    public int update(T t){
        return mapper.update(t);
    }

    /**
     * 功能简介: 根据ID查询对象
     * @Author dongmufengchun
     * @Date 16:25 2022/6/19
     * @param id id
     * @return T
    **/
    public T findById(Long id){
        return mapper.findById(id);
    }
}
